@@ -95,14 +95,23 @@ var list_folder = function(req, res){
|
||
| 95 | 95 |
var extension; |
| 96 | 96 |
var folder_content = []; |
| 97 | 97 |
// Path is file or folder |
| 98 |
- if(!isFile(req.params['file'])){
|
|
| 99 |
- path = path + req.params['file']; |
|
| 98 |
+ if(!isFile(req.params['file']) && req.params['file'] != undefined){
|
|
| 99 |
+ path = path + "./" + req.params['file'] + "/"; |
|
| 100 |
+ } |
|
| 101 |
+ if(path == "" || path == "undefined"){
|
|
| 102 |
+ path = "./"; |
|
| 100 | 103 |
} |
| 104 |
+ console.log("Listing folder: " + path);
|
|
| 101 | 105 |
fs.readdir(path, function(err, files) {
|
| 102 |
- files.forEach(function() {
|
|
| 103 |
- folder_content.push(file); |
|
| 104 |
- }); |
|
| 105 |
- res.json({ files: folder_content });
|
|
| 106 |
+ if(files != null){
|
|
| 107 |
+ files.forEach(function(file) {
|
|
| 108 |
+ folder_content.push(file); |
|
| 109 |
+ }); |
|
| 110 |
+ res.json({ files: folder_content });
|
|
| 111 |
+ } else {
|
|
| 112 |
+ res.json({ files: [] });
|
|
| 113 |
+ } |
|
| 114 |
+ |
|
| 106 | 115 |
}) |
| 107 | 116 |
} |
| 108 | 117 |
|
@@ -240,21 +249,14 @@ var url_paths = [ |
||
| 240 | 249 |
'/:folder_10/:folder_9/:folder_8/:folder_7/:folder_6/:folder_5/:folder_4/:folder_3/:folder_2/:folder_1/:file' |
| 241 | 250 |
] |
| 242 | 251 |
|
| 243 |
-// API get files in folder (?list=true) |
|
| 244 |
-for (var i = 0; i < url_paths.length; i++) {
|
|
| 245 |
- app.get(url_paths[i], function (req, res) {
|
|
| 246 |
- if(req.params.list == true){
|
|
| 247 |
- console.log("Listing folder: " + url_paths[i]);
|
|
| 248 |
- list_folder(req, res); |
|
| 249 |
- } |
|
| 250 |
- }); |
|
| 251 |
-} |
|
| 252 |
- |
|
| 253 | 252 |
// Get file |
| 254 | 253 |
for (var i = 0; i < url_paths.length; i++) {
|
| 255 | 254 |
app.get(url_paths[i], function (req, res) {
|
| 256 |
- console.log("Sending File: " + url_paths[i]);
|
|
| 257 |
- get_file(req, res); |
|
| 255 |
+ if(req.query.list == "true"){
|
|
| 256 |
+ list_folder(req, res); |
|
| 257 |
+ } else {
|
|
| 258 |
+ get_file(req, res); |
|
| 259 |
+ } |
|
| 258 | 260 |
}) |
| 259 | 261 |
} |
| 260 | 262 |
|
@@ -1,6 +1,6 @@ |
||
| 1 | 1 |
{
|
| 2 | 2 |
"name": "@jamesperet/codex-server", |
| 3 |
- "version": "0.1.2", |
|
| 3 |
+ "version": "0.1.3", |
|
| 4 | 4 |
"description": "A node file server with super powers.", |
| 5 | 5 |
"main": "index.js", |
| 6 | 6 |
"scripts": {
|